#
# Exec2 many exec expressions
#

setwd(normalizePath(dirname(R.utils::commandArgs(asValues=TRUE)$"f")))
source('../findNSourceUtils.R')

the_test <- function(conn){
  r.hex <- h2o.uploadFile(conn, locate('smalldata/iris/iris2.csv'))
  h2o.exec(!c(!1,3,5),conn)
  h2o.exec(!c(1,3,!5),conn)
  h2o.exec(!c(1,!3,5),conn)
  h2o.exec(r.hex[,1],conn)
  h2o.exec(r.hex-r.hex,conn)
  h2o.exec(c(1,3,5),conn)
  h2o.exec(!1.23<!2.34,conn)
  h2o.exec(!c(1,3,!5),conn)
  h2o.exec(min(1,2),conn)
  h2o.exec(1.23<2.34,conn)
  h2o.exec(r.hex[2+4,-4],conn)
  h2o.exec(is.na(r.hex),conn)
  h2o.exec(1.23>=2.34,conn)
  h2o.exec(r.hex,conn)
  h2o.exec(r.hex[2+4,-4],conn)
  h2o.exec(r.hex,conn)
  h2o.exec(r.hex[2+4,-4],conn)
  h2o.exec(cbind(c(1,2,3,4), c(5,6,7,8)),conn)
  h2o.exec(max(1,23),conn)
  h2o.exec(factor(r.hex[,5]),conn)
  h2o.exec(r.hex-r.hex,conn)
  h2o.exec(1.23<=2.34,conn)
  h2o.exec(1.23,conn)
  h2o.exec(r.hex[,ncol(r.hex)+1]<- 4,conn)
  h2o.exec(!1.23,conn)
  h2o.exec(r.hex[,ncol(r.hex)+1]<- 4,conn)
  h2o.exec(nrow(r.hex)*3,conn)
  h2o.exec(!c(!1,3,5),conn)
  h2o.exec(1.23>=2.34,conn)
  h2o.exec(is.na(r.hex),conn)
  h2o.exec(!c(1,!3,5),conn)
  h2o.exec(min(1,2),conn)
  h2o.exec(r.hex+1,conn)
  h2o.exec(sum(1,2,3),conn)
  h2o.exec(1.23!=2.34,conn)
  h2o.exec(cbind(c(1,2,3,4), c(5,6,7,8)),conn)
  h2o.exec(sum(1,r.hex,3),conn)
  h2o.exec(r.hex[2+4,-4],conn)
  h2o.exec(sum(1,2),conn)
  h2o.exec(!r.hex,conn)
  h2o.exec(r.hex[,1],conn)
  h2o.exec(r.hex[2+4,-4],conn)
  h2o.exec(sum(1,2),conn)
  h2o.exec(min(1,2),conn)
  h2o.exec(r.hex+1,conn)
  h2o.exec(r.hex,conn)
  h2o.exec(1.23==2.34,conn)
  h2o.exec(sum(c(1,3,5)),conn)
  h2o.exec(1.23>2.34,conn)
  h2o.exec(min(1,2),conn)
  h2o.exec(r.hex[nrow(r.hex)-1,ncol(r.hex)-1],conn)
  h2o.exec(r.hex-r.hex,conn)
  h2o.exec(r.hex[c(1,3,5),],conn)
  h2o.exec(r.hex,conn)
  h2o.exec(1.23<!2.34,conn)
  h2o.exec(sum(1,2),conn)
  h2o.exec(apply(r.hex,2,sum),conn)
  h2o.exec(r.hex[nrow(r.hex)-1,ncol(r.hex)-1],conn)
  h2o.exec(!c(1,3,5),conn)
  h2o.exec(max(1,23),conn)
  h2o.exec(1.23<=2.34,conn)
  h2o.exec(!1.23<!2.34,conn)
  h2o.exec(sum(1,2),conn)
  h2o.exec((1.23+r.hex)-r.hex,conn)
  h2o.exec(r.hex[,1]==1.0,conn)
  h2o.exec(r.hex,conn)
  h2o.exec(max(1,23),conn)
  h2o.exec(!c(1,!3,5),conn)
  h2o.exec(!r.hex,conn)
  h2o.exec(1.23,conn)
  h2o.exec(r.hex+1,conn)
  h2o.exec(r.hex,conn)
  h2o.exec(sum(1,2),conn)
  h2o.exec(!r.hex,conn)
  h2o.exec(!1.23<!2.34,conn)
  h2o.exec(sum(c(1,3,5)),conn)
  h2o.exec(1.23<2.34,conn)
  h2o.exec(1.23<!2.34,conn)
  h2o.exec(r.hex[,1]+1,conn)
  h2o.exec(!1.23<2.34,conn)
  h2o.exec(r.hex[,1],conn)
  h2o.exec(!1.23<2.34,conn)
  h2o.exec(sum(1,2),conn)
  h2o.exec(r.hex[2+4,-4],conn)
  h2o.exec(1.23<2.34,conn)
  h2o.exec(runif(r.hex[,1], -1),conn)
  h2o.exec(cbind(c(1,2,3,4), c(5,6,7,8)),conn)
  h2o.exec(r.hex[,1]<- r.hex[,1]+1,conn)
  h2o.exec(!1.23<2.34,conn)
  h2o.exec(1.23>2.34,conn)
  h2o.exec(!c(1,3,!5),conn)
  h2o.exec(!r.hex,conn)
  h2o.exec(r.hex[,1]<- r.hex[,1]+1,conn)
  h2o.exec(r.hex[,1]==1.0,conn)
  h2o.exec(r.hex[nrow(r.hex),],conn)
  h2o.exec(!1.23<!2.34,conn)
  h2o.exec(!c(1,3,5),conn)
  h2o.exec(sum(1,2,3),conn)
  h2o.exec(r.hex[,1]==1.0,conn)
  h2o.exec(r.hex-r.hex,conn)
  h2o.exec(!c(1,3,!5),conn)
  h2o.exec(r.hex[2+4,-4],conn)
  h2o.exec(r.hex[c(1,3,5),],conn)
  h2o.exec(1.23<=2.34,conn)
  h2o.exec(!1.23<!2.34,conn)
  h2o.exec(!1.23<!2.34,conn)
  h2o.exec((1.23+r.hex)-r.hex,conn)
  h2o.exec(1.23,conn)
  h2o.exec(r.hex[,1]+1,conn)
  h2o.exec(r.hex[,1],conn)
  h2o.exec(!1.23<2.34,conn)
  h2o.exec(r.hex[,ncol(r.hex)+1]<- 4,conn)
  h2o.exec(runif(r.hex[,1], -1),conn)
  h2o.exec(sum(1,r.hex,3),conn)
  h2o.exec(1.23<=2.34,conn)
  h2o.exec(runif(r.hex[,1], -1),conn)
  h2o.exec(1.23>=2.34,conn)
  h2o.exec(!c(1,!3,5),conn)
  h2o.exec(r.hex-r.hex,conn)
  h2o.exec(r.hex+1,conn)
  h2o.exec(r.hex[1,],conn)
  h2o.exec(1.23==2.34,conn)
  h2o.exec(r.hex[nrow(r.hex),],conn)
  h2o.exec(r.hex[2+4,-4],conn)
  h2o.exec(r.hex[,1],conn)
  h2o.exec(r.hex[2+4,-4],conn)
  h2o.exec(sum(1,r.hex,3),conn)
  h2o.exec(!c(1,!3,5),conn)
  h2o.exec(is.na(r.hex),conn)
  h2o.exec(r.hex[2,3],conn)
  h2o.exec(c(1,3,5),conn)
  h2o.exec(1.23!=2.34,conn)
  h2o.exec(r.hex[,1]<- r.hex[,1]+1,conn)
  h2o.exec(r.hex[,1]+1,conn)
  h2o.exec(r.hex[,1]<- r.hex[,1]+1,conn)
  h2o.exec(1.23<=2.34,conn)
  h2o.exec(apply(r.hex,2,sum),conn)
  h2o.exec(r.hex[,1],conn)
  h2o.exec(!c(1,3,5),conn)
  h2o.exec(c(1,3,5),conn)
  h2o.exec(1.23+(r.hex-r.hex),conn)
  h2o.exec(!c(1,3,5),conn)
  h2o.exec(max(1,23),conn)
  h2o.exec(1.23,conn)
  h2o.exec(is.na(r.hex),conn)
  h2o.exec(sum(1,2,3),conn)
  h2o.exec(1.23+(r.hex-r.hex),conn)
  h2o.exec(sum(1,2,3),conn)
  h2o.exec(sum(1,2,3),conn)
  h2o.exec(r.hex[,1]+1,conn)
  h2o.exec(1.23>2.34,conn)
  h2o.exec(1.23<!2.34,conn)
  h2o.exec(r.hex[,1]+1,conn)
  h2o.exec(1.23<!2.34,conn)
  h2o.exec(sum(c(1,3,5)),conn)
  h2o.exec(factor(r.hex[,5]),conn)
  h2o.exec(!c(1,!3,5),conn)
  h2o.exec(sum(1,r.hex,3),conn)
  h2o.exec(1.23==2.34,conn)
  h2o.exec(sum(c(1,3,5)),conn)
  h2o.exec(factor(r.hex[,5]),conn)
  h2o.exec(sum(1,r.hex,3),conn)
  h2o.exec(!c(1,3,5),conn)
  h2o.exec(nrow(r.hex)*3,conn)
  h2o.exec(r.hex[2+4,-4],conn)
  h2o.exec(!1.23,conn)
  h2o.exec(r.hex+1,conn)
  h2o.exec(cbind(c(1,2,3,4), c(5,6,7,8)),conn)
  h2o.exec(1.23>2.34,conn)
  h2o.exec(is.na(r.hex),conn)
  h2o.exec(min(1,2),conn)
  h2o.exec(factor(r.hex[,5]),conn)
  h2o.exec(1.23,conn)
  h2o.exec(!c(1,3,5),conn)
  h2o.exec(r.hex[,1]+1,conn)
  h2o.exec(r.hex[2,3],conn)
  h2o.exec(1.23>=2.34,conn)
  h2o.exec(r.hex[,1]+1,conn)
  h2o.exec(1.23==2.34,conn)
  h2o.exec(!c(1,3,!5),conn)
  h2o.exec(nrow(r.hex)*3,conn)
  h2o.exec(r.hex[nrow(r.hex)-1,ncol(r.hex)-1],conn)
  h2o.exec(1.23<2.34,conn)
  h2o.exec(r.hex[,ncol(r.hex)+1]<- 4,conn)
  h2o.exec(sum(1,2,3),conn)
  h2o.exec(r.hex+1,conn)
  h2o.exec(!c(1,!3,5),conn)
  h2o.exec(cbind(c(1,2,3,4), c(5,6,7,8)),conn)
  h2o.exec(1.23==2.34,conn)
  h2o.exec(!1.23<2.34,conn)
  h2o.exec(r.hex[,1]==1.0,conn)
  h2o.exec(runif(r.hex[,1], -1),conn)
  h2o.exec(1.23>2.34,conn)
  h2o.exec(!1.23<2.34,conn)
  h2o.exec(sum(1,2,3),conn)
  h2o.exec(r.hex[c(1,3,5),],conn)
  h2o.exec(1.23<=2.34,conn)
  h2o.exec(apply(r.hex,2,sum),conn)
  h2o.exec(r.hex[1,],conn)
  h2o.exec(!1.23<2.34,conn)
  testEnd()
}

doTest('the_test', the_test)

